0.8.4

Fixed a pair of bugs that would set the pad to dualshock 2 native mode instead of simply analog mode.  Most games didn't seem to mind.  Silent Hill 4 objected vocally, however.

Added support for what (Seems to be) the leave dualshock mode command - not sure if I got the syntax right.  This alone would also fix Silent Hill 4.

Fixed "-1" displayed on Test Device screen when a pov controller is in the up position.


0.8.3

Added slightly better handling of setting bit masks.  Not sure it'll have any practical effect.

Added GSDX + MTGS hide cursor hack.

Fixed clipping rectangle not being removed when using a mouse and background monitoring.  Note that you have to have a hack enabled or a device in Windows messaging/raw mode for this to work properly.  I recommend mouse users just binding a key to "mouse" and use that instead.

Added the option to use different force feedback effect functions.  The constant function should be fine for most people, but some devices/device drivers are funky and use different functions for different motors.


0.8.2

Motors had been flipped.  Fixed.


0.8.1

Fixed newly bound force feedback devices initially displaying 0 sensitivity.

Added "Test FF" button.


0.8.0

Added option to allow multiple bindings to a single direct input object (Doesn't work with windows messaging or raw input.  Does allow you to configure multiple force feedback axes independently).

Fixed key release event.  Thought event=0 was key up, 1 was key down, but 2 is actually key down.  Only seems to matter when navigating through save states.  Notice that SSSPSX makes the same assumption I do.  This is what happens when plugin specifications are incomplete.  :)

Right shift sent to PCSX2 as a generic shift when using an input mode that distinguishes between the two shift keys.

Fixed bug that would cause LilyPad to ignore slight movements of analog axes.

64-bit dll fixed.  No longer fails to load, complaining about being unable to find MSVCR80.dll.

Removed a couple older pretty ineffective hacks that had been aimed at increasing stability when pausing emulation.  Note that there are not the hacks listed on the first configuration screen.

Changed center for analog sticks from 127 to 128.  Not sure which is correct, or if it's actually in between, but other pads plugins all seem to use 128.  Shouldn't make any noticeable difference.

Modified handling of some PS2 pad configuration commands.  May now work in some games that didn't recognize it as a dualshock 2 controller (Or as any controller).

Fixed issue with not saving some settings on the general screen to file.

Added simple but nasty hack to prevent potential crash when quitting by closing the command window while the emulator is still running.  Issue was that I was trying to cleanup my DirectInput objects when the dll unloaded, and (Apparently) the DirectInput dlls had already been unloaded.

Added PADupdate() support.  If the emulator supports it, DirectInput controller state is only checked when it's called.  Note that this may reduces responsiveness when frame rate drops to almost nothing.  Or it may not.  Could also introduce some threading issues (In particular with vibration), though I haven't run into any yet.

Added option for monitoring game devices when in the background.  Mostly added because I always forget to refocus the emulator window after changing to another window.

Fixed handling of mouse buttons 4 and 5 under Windows messaging.

Escape will now always cause emulator to stop (Even when keyboard mode is disabled).  Wasn't working under Windows messaging mode.

Raw input keyboard mode should no longer cause it to crash.

Mouse cursor not being hidden in Windows messaging mode fixed.

Dropped SIO support.  Even if the PAD functions are supposedly depricated, doesn't look like SIO will be used by PCSX2 any time soon.

Will save general settings for pads 1 and 2 even when no controls are configured for that pad.

DirectInput devices are a bit more responsive when binding them in the config screen.


0.7.1
Controls for disabled devices and inactive devices (Due to mode settings) are now hidden.

Bindings for unplugged DirectInput devices now displayed.

DirectInput device testing windows added.

Refresh devices button added.


0.7.0
Fixed a pair of bugs with psx plugin's pad 2 handling.

Added an option for analog axes to act like the d-pad in analog mode.  This may be useful with ancient psx games that don't support analog mode.  The option has other uses, but not many.  Mostly added because I wanted to take up more space under the general tab and it was trivial to implement.

Spruced up general tab's layout a bit.

Added option to start with a mouse not captured, even when mouse is bound to keys.  Also added an option to start with the pad in analog mode.  Both these options are just meant for the lazy, as the same thing can be achieved by pressing the mouse and/or analog buttons whenever you start the emulator.  Starting with a pad in analog mode might also help with some dual shock-only games and loading states, though it may cause issues with some older games.

Added "disable screensaver" option.  Only works when application is in foreground.

Windows keys now ignored when keyboard is in Direct Input Mode.

When keyboard mode is set to disable or Windows messaging, setting the left or right windows key to the ignore list works.

Can no longer edit text in force feedback box.

Added "Clear All" button.

Now poll devices that claim they don't need to be polled - might fix issues with some POV objects, or might not.

No longer need to reload plugin when selecting cancel to restore old settings.

Left/right sticks now labelled differently in the ListView control.

Fixed a couple memory leaks that would occur when switching from LilyPad to another plugin.  Not exactly a huge problem.


0.6.2
L2 in Direct Input devices (keyboard, mouse, and game devices) no longer thinks it's the analog button.

Keyboard navigation in pad config menu fixed.

Removed some redundant strings, shrinking dll size marginally.


0.6.1
Hat switch horizontal axis and horizontal flipping fixed.


0.6.0
Added force feedback support.  Fixed handling of POV devices and binding more sensitive axes.  Added ability to invert both axes independently for POV devices.  Revamped config screen.

Fixed d-pad axes causing start and L3 buttons to be locked down (Introduced bug in 0.4.0.  Previously overwrote second pad instead).  Fixed analog axes setting d-pad directions.

Fixed handling of devices that claim they need to be polled but then indicate they might not really need to be polled when I try to poll them.

Added lock buttons button.  Don't see any use for it, but I already had it in the back end anyways.

Fixed some mouse/focus/cursor locking/emulation pause/unpause issues.

Doubled the number of (total, not bound) direct input devices allowed before binding problems occur.  2048 should be more than enough for anybody.  Limit shouldn't really exist, but I'm lazy.

Changed default keyboard and game device modes to Direct Input.


0.4.1
Fixed handling of direct input objects with the same instance ids (Again. Works this time). Keeping buttons pressed when unfocusing window no longer locks the pressed buttons. Added lock input/direction buttons instead. Modified how directions are added (max forward + max forward + max left = max forward + 1/2 max left now, instead of max forward + max left). Slightly modified sort order again.

0.4.0
Fixed handling of direct input objects with the same instance ids. Improved sort order slightly. Fixed unfocus/refocus behavior when using a mouse. Fixed minor direct input key mapping bug with the number keys. Note: Old inis are not compatible with this version, so old settings may be lost. No need to delete old inis yourself, however.


0.3.0
Start, select, and L3/R3 now work as they should and no longer mirror L1/R1/L2/R2. Also halved what sensitivity means for analog sticks, so sensitivity behaves more consistently (Sticks report from 0 to 255 for each axis, while the dual shock direction buttons report from 0 to 255 for both left and right, so one should be scaled).


0.2.3
Minor fix. Resizing emulation window when mouse is bound (And temporarily released with a "Mouse" button) works properly now, and I remember the state of the mouse when window loses focus.

0.2.2
Can now bind buttons to release/capture the mouse. A couple other changes in the way some keys are handled.

0.2.1
Quick fix: SIO adds an extra parameter that (As I understand it) means I should be loading a different set of configuration data from my ini file. Unfortunately, the config screen can be called before you're told this value, when a plugin is first selected. Anyways, the error caused by selecting the plugin and then configuring it in the full plugin list screen before it was initialized by PCSX2 has now been fixed.

Just noticed SIO specs are over a year and a half old...Perhaps they'll never be used. Should have checked that in the first place. LilySio sounds funny, anyways.

0.2.0
Added preliminary SIO support (Successor to pad plugins). I'm not sure I'm handling the new parameters correctly. Doesn't matter until the next version of PCSX2 is out, anyways. An (untested) 64-bit build is also included, also for the next version of PCSX2.

Fixed a couple PS2 messages I wasn't handling quite properly.

Changed the layout slightly.

Improved cursor hiding. Should never see it again...Hopefully.

Fixed a bug that could prevent the second pad from doing anything.

Added PSX emulator support. For some reason, some psx emulators fail to list LilyPad, but it works in PCSX, at least.

Added a "play nice" mode. When everything is set to DirectInput mode or disabled, and neither of the close hacks are enabled, I automatically disable some of my more intrusive code. There is no feedback to the user indicating this mode is in use. This less intrusive mode is required to run with some PSX emulators, as otherwise, we can run into an interesting "pass control off to someone else who already surrendered control of it" condition on application closure or when you pause emulation (PCSX2 handles this much better, avoiding this issue). Play nice mode will still work when keys are set to be ignored.

Reduced CPU overhead significantly, at the cost of a bit of memory. Pad overhead is low enough that it doesn't really make much difference, but my old direct input code was pretty bad.

I now only get input from Direct Input devices that have commands bound to them, and I only get input from those particular buttons/axes. Not sure how much of a difference this really makes.

POV sliders may now work properly.


0.1.2
adds a bunch of fixes. I accidentally broke the ignore feature before my last release. It also fixes a bunch of binding issues. Pressing a key/button will now cancel binding to an axis. Escape can no longer be bound in DX keyboard mode. Escape will cancel binding a key, but I don't recommend it, as it will also close the dialog window in raw mode, and I'm not sure there's a simple work around.

Fixed a couple of other binding issues, fixed key passing to the emulator (For F2/F3/F4) when keyboard is set to raw but you have no keys configured. Also, ignored keys are no longer sent to the emulator.

Added POV slider support...Kinda. As I have no POV slider, nor am I sure how they're supposed to work, they probably are not working properly. Does a pov slider tell you what direction you are facing, or what direction you should be facing? Should it act like one circular axis, or a direction at full throttle at the specified angle, which would require two axes? It's not right as it is, as it doesn't wrap around properly, among other things.

Three releases in one day is a bit much. I undoubtedly don't spend as much time testing as I should, and like to get minor bug fixes out fast...

0.1.1
Added a hack to prevent the cursor from appearing on unfocus/focus. Not sure why there was a problem before, but now I use an invisible cursor instead of hiding the existing one. Seems to work much better, though when you move the mouse quickly, you can still occasionally see flashes of the cursor.